package com.qdlc.p2p.biz.service;

import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.Operator;

public interface OperatorService {

	/**
	 * 用户登录方法
	 * 
	 * @param userName 登录用户名
	 * @param password 登录密码
	 * @return 用户
	 */
	Operator login(String userName, String password) throws Exception;

	/**
	 * 添加用户方法
	 * 
	 * @param operator 用户对象
	 * @param roleIdArr 用户选择角色数组
	 */
	void addOperator(Operator operator, String[] roleIdArr);

	/**
	 * 用户查询
	 * 
	 * @param id 主键ID
	 * @return 用户信息
	 */
	Operator getUserById(long id);

	/**
	 * 用户修改
	 * 
	 * @param user 用户
	 * @param roleIdArr 用户选择角色数组
	 */
	void userUpdate(Operator user, String[] roleIdArr);

	/**
	 * 用户分页
	 * 
	 * @param param 查询参数
	 * @return 分页
	 */
	PageDataList<Operator> getUserPageList(int pageNumber, int pageSize, String searchName, Operator model);

	/**
	 * 修改用户
	 * 
	 * @param user 用户
	 */
	void userUpdate(Operator user);

	/**
	 * 修改用户密码
	 * 
	 * @param user 用户
	 */
	void updateUserPwd(Operator user);

	/**
	 * 根据用户名查询用户信息
	 * 
	 * @param userName 用户名
	 * @return 用户信息
	 */
	Operator getUserByUserName(String userName);

	/**
	 * 根据ID获得Operator对象
	 * @param id
	 * @return
	 */
	Operator findById(long id);
	
	/**
	 * 启用/禁用
	 * @param id
	 * @param status
	 * @throws Exception 
	 */
	public void updateStatus(long id, int status) throws Exception;
}
